﻿#ifndef EQUIPMENTCONDITIONSTRUCT_H
#define EQUIPMENTCONDITIONSTRUCT_H

#include <QObject>
class EquipmentConditionStruct
{
public:
    EquipmentConditionStruct();

    enum ConditionType
    {
        NotThisValue = 0,
        IsThisValue  = 1,
        LessThanThisValue = 2,
        LessThanOrEqualToThisValue = 3,
        MoreThanThisValue = 4,
        MoreThanOrEqualToThisValue = 5,
    };

    QString zoneName() const;
    void setZoneName(const QString &zoneName);

    QString deviceName() const;
    void setDeviceName(const QString &deviceName);

    QString functionName() const;
    void setFunctionName(const QString &functionName);

    QString valueName() const;
    void setValueName(const QString &valueName);

    quint16 zoneCode() const;
    void setZoneCode(const quint16 &zoneCode);

    quint16 deviceTypeCode() const;
    void setDeviceTypeCode(const quint16 &deviceTypeCode);

    quint16 deviceCode() const;
    void setDeviceCode(const quint16 &deviceCode);

    quint16 functionCode() const;
    void setFunctionCode(const quint16 &functionCode);

    quint16 functionValue() const;
    void setFunctionValue(const quint16 &functionValue);

    quint16 address() const;
    void setAddress(const quint16 &address);

    quint16 number() const;
    void setNumber(const quint16 &number);

    quint8 conditionType() const;
    void setConditionType(const quint8 &conditionType);


    bool isSatisfy() const;
    void setIsSatisfy(bool isSatisfy);

private:
    bool m_isSatisfy;
    QString m_zoneName;
    QString m_deviceName;
    QString m_functionName ;
    QString m_valueName;
    quint16 m_zoneCode;
    quint16 m_deviceTypeCode;
    quint16 m_deviceCode;
    quint16 m_functionCode;
    quint16 m_functionValue;
    quint16 m_address;
    quint16 m_number;
    quint8  m_conditionType;
};

#endif // EQUIPMENTCONDITIONSTRUCT_H
